# @Time    :2025/4/1 17:15
"""
题目 2：异常类型匹配与信息获取
编写一个函数 calculate_area，该函数接收两个参数 length 和 width，
用于计算矩形的面积。在函数内部，使用 try-except 语句捕获可能出现的异常。
如果 length 或 width 为负数，抛出 ValueError 异常并给出 “长度和宽度不能为负数” 的描述信息；
如果 length 或 width 不是数字类型，捕获 TypeError 并打印异常信息；如果没有异常发生，打印 “面积计算成功” 并返回计算结果。

"""


def calculate_area(length, width):
    try:
        if length < 0 or width < 0:
            raise ValueError("长度和宽度不能为负数")
        area = length * width

        print(f"面积计算成功,面积是{area}")
        return area

    except  TypeError as e:
        print("11",e)
    except ValueError as e:
        print(e)


#print(calculate_area(5, 3))
calculate_area("5", 3)
# print(calculate_area("5", 3))